package com.live.stamp.web.user.baseDataService;

import com.live.stamp.web.user.model.TUser;
import com.live.stamp.web.user.model.TUserAttention;
import com.live.stamp.web.user.model.TUserFriend;
import com.live.stamp.web.user.model.TUserShield;
import com.live.stamp.web.user.vo.TUserVo;
import org.springframework.boot.container.core.common.BusinessException;

import java.util.List;

/**
 * @author cwd E-mail: wendong.cao@jsxfedu.com
 * @version 1
 * @date 2018/4/12 16:04
 */
public interface UserBaseService {

    TUser getUser(TUserVo tUserVo) throws BusinessException;

    TUser getUserById(String userId) throws BusinessException;

    int addShiled(TUserShield tUserShield) throws BusinessException;

    int deleteShiled(TUserShield tUserShield) throws BusinessException;

    List<TUserShield> getShields(TUserShield tUserShield) throws BusinessException;

    int addUser(TUser tUser) throws BusinessException;

    int updateUser(TUserVo tUserVo) throws BusinessException;

    int addFriend(TUserFriend tUserFriend) throws BusinessException;

    TUserFriend getUserFriendById(String id) throws BusinessException;

    int deleteFriend(TUserFriend tUserFriend) throws BusinessException;

    int updateUserFriend(TUserFriend tUserFriend) throws BusinessException;

    /**
     * 屏蔽好友
     * @param tUserVo
     * @return
     * @throws BusinessException
     */
    int shieldUserFriend(TUserVo tUserVo) throws BusinessException;

    int addAttention(TUserAttention tUserAttention) throws BusinessException;

    int deleteAttention(TUserAttention tUserAttention) throws BusinessException;

    List<TUser> queryUserList(TUserVo tUserVo) throws BusinessException;
}
